﻿using System;
using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;

using System.Text;

using nms.gaming.model;

using nms.gaming.rng;
using nms.gaming.rng.model;

namespace nms.gaming.webservice
{
    [ServiceContract]
    public interface IRandomNumberService
    {
        [OperationContract]
        [WebGet(UriTemplate = "{host}/{game}/generate$format=xml?min={min}&max={max}&length={length}&unique={unique}&amount={amount}", ResponseFormat = WebMessageFormat.Xml)]
        RandomNumberSet[] Generate(string host, string game, int min, int max, int length, bool unique, int amount);

        [OperationContract]
        [WebGet(UriTemplate = "{host}/{game}/generate?min={min}&max={max}&length={length}&unique={unique}&amount={amount}", ResponseFormat = WebMessageFormat.Json)]
        RandomNumberSet[] GenerateJSON(string host, string game, int min, int max, int length, bool unique, int amount);

        [OperationContract]
        [WebGet(UriTemplate = "{host}/{game}/generate$format=json?min={min}&max={max}&length={length}&unique={unique}&amount={amount}", ResponseFormat = WebMessageFormat.Json)]
        RandomNumberSet[] GenerateJSON_EXPLICIT(string host, string game, int min, int max, int length, bool unique, int amount);
    }

}
